ddt
Section: Domain Debug Tools Manual (1)
Updated: May 17 1993
Index
Return to Main Contents
NAME
ddt - domain debug tools
DESCRIPTION
The DNS database is a distributed database where almost all the distributed
bindings of the TCP/IP application level take place.
This database is managed by several primary and secondary servers
running in a master/slave fashion.
During updates, there are temporary inconsistencies that are more or less
tolerated by the different user services.
By its nature, the database is managed in a descentralized way, with hundreds,
or even thousands, of individuals envolved.
This is a very interesting and valuable feature of this application.
However, in conjunction with the fact that inconsistencies must be tolerated,
this collective managing style may lead to the introduction of
hard to find errors.
Sometimes, some of these errors can introduce several problems and
far from ideal resource usage.
DDT
(domain debug tools) is a package to help zone administrators to avoid
as much as possible these problems, providing a set of commands that
allow administrators to analyze any portion of the DNS tree.
DDT
works on cached data files because, as such, it can be reasonably efficient.
A command is available to try to cache the "real world" situation
as close as possible.
This command,
ddt-xfer(1),
is a slightly modified version of BIND's
named-xfer(8),
that transfers a zone to the cache and, optionally,
all its descendents zones. If you have enough disk and bandwith,
you can cache all the zones of the world with one only command.
Probably, at end, you should start again because some of
the cached zones will not reflect the present situation anymore.
The commands read the standard input, and can be given one or more zone files,
thus spreading the analisys throughout a set of zones.
With the exception of
ddt-xfer(1),
all commands are written in perl(1).
Available commands are:
-
- ddt-xfer
-
to cache one or more zones.
- soac
-
to analyze the RRs that describe the zone's authority information, i.e.,
the NS RRs that list the servers for the zone and a single SOA RR
that describe zone management parameters.
- rrc
-
to check the semantic of the RRs, like valid host names, names without
trailing dot, etc.
- grc
-
to analyze the glue records for a zone.
- mxc
-
to analyze the MX RRs defined within a zone.
- rmc
-
to analyze the reverse mapping.
Besides these, there are some small scripts to obtain several accounts, like
number of hosts, number of nets, number of domains, most popular names, etc.
In conjunction with some user written awk scripts, it is easy to obtain
a lot of other information.
These commands are the following filters:
-
- expand
-
replaces the owner name of each RR by an absolute or fully qualified name.
- hosts
-
returns all hosts in the zones.
- hosts-addr
-
returns all hosts with their ip-addresses.
- hosts-domain
-
returns all domains defined in the zones with the number of hosts per domain.
- cnames
-
returns all nicknames in the zones.
- nets
-
returns all nets in the zones with the number of hosts per network.
- names-stat
-
counts names.
To help on the interpretation of the several messages returned by the
available commands easier,
those messages are divided into four levels of severity:
-
- [Warning 1] You should investigate it now!
-
- [Warning 2] Don't forget this warning!
-
- [Warning 3] You should analyze it someday!
-
- [Comment] You can ignore it /
-
-
DDT has not enough data to take an effective decision.
Messages belonging to [Warning 1] level are the most serious.
On the other hand, messages belonging to [Comment] level are
less important, but this doesn't mean that these messages can be
completely ignored.
Unfortunately, there are some serious errors that were included in
the this level because, when the message is displayed, DDT has
not enough data (zone files) to take an effective decision.
Each command can take an optional argument, specifying the level of severity
of the messages displayed.
If it has the value 1, only messages belonging to [Warning 1] level
are displayed. If it is 2 all messages belonging to [Warning 1] and
[Warning 2] levels are displayed, and so on.
The commands
ddt-xfer(1),
grc(1),
mxc(1),
rrc(1),
rmc(1)
and
soac (1)
are described in separate manual pages.
The scripts for gathering statistics about zones are illustrated below
with some examples.
- 1)
-
Generate the portuguese statistics of hostnames
(all zones below pt. are in /usr/local/ddt.cache/pt directory):
- $ expand /usr/local/ddt.cache/pt/* | hosts | names-stat | sort -rn
- 2)
-
Count hosts in a zone beginning at the node inesc.pt
(the zone inesc.pt is in the file /usr/local/ddt.cache/pt/inesc.pt):
- $ expand /usr/local/ddt.cache/pt/inesc.pt | hosts | wc -l
- 3)
-
Print the number of hosts by nets in Italy
(all zones below it. are in the directory /usr/local/ddt.cache/it):
- $ expand /usr/local/ddt.cache/it/* | hosts-addr | nets | sort -rn
Comments and suggestions are welcome.
SEE ALSO
ddt-xfer(1), soac(1), rrc(1), mxc(1), grc(1), rmc(1)
AUTHORS
Jorge Frazao <frazao@puug.pt>
Artur Romao <artur@dns.pt>
Index
- NAME
-
- DESCRIPTION
-
- SEE ALSO
-
- AUTHORS
-
This document was created by
man2html,
using the manual pages.
Time: 07:06:08 GMT, May 19, 2025